Repository navigation
fix(muse): file Muse Assist's readings under Muse Assist, not Muse Code - #197
Conversation
Both Muse rows showed "no report" while their readings sat in the shared handoff, correctly formed. Two of them: muse-code "5h window" 100% api.meta.ai muse-code "weekly" 86% api.meta.ai muse "Additional tokens" 96% subscription-status-cli muse "Free weekly limit" 0% subscription-status-cli The alias table mapped `muse` to `muse-code`. `subscription-status-cli` reports **Muse Assist** under the key `muse`, so every one of its windows was rewritten to Muse Code's key on the way in. Meanwhile the expected-provider list asks for `muse-assist`, and nothing anywhere emitted that key. So the two failures compounded: the Muse Assist row had no windows because its data had been filed elsewhere, and the rows that did resolve were carrying the other subscription's numbers. Nothing was wrong with the CLI, the reader or the payload shape — one alias line was. `muse` now resolves to `muse-assist`, alongside the other Muse Assist spellings. Muse Code keeps its own identity and its own `api.meta.ai` source. Mark resolution was verified rather than assumed: the four logos the owner asked for -- the colour Antigravity star for the Gemini pool, Claude, the blue Muse Assist mark and the Meta loop for Muse Code -- each resolve in both appearances, and each already maps to its own bundled file. Their blank appearance was the missing rows above, not the artwork. `QuotaProviders` was `private`, which is why no test could have caught the alias. It is now internal so the identity rules are testable; the table is the one place a provider's key is decided, so it is the one place worth pinning. Tests: `muse` resolves to Muse Assist, the CLI spellings follow it, Muse Code keeps its own identity, both are expected providers, and the specific regression -- a window keyed `muse` must never land on Muse Code. 375 tests, 0 failures. Co-Authored-By: MiniMax Code <noreply@minimax.io>
Kody Review CompleteGreat news! 🎉 Keep up the excellent work! 🚀 Kody Guide: Usage and ConfigurationInteracting with Kody
Current Kody ConfigurationReview OptionsThe following review options are enabled or disabled:
|
|
Single-space sentence separation in the PR body's second paragraph violates rule 4's two-space mandate, and GFM rendering collapses literal ASCII double spaces, requiring the Kody rule violation: Use two spaces between sentences in every human-facing string and agent-written paragraph |
🤔 Insufficient Task ContextI found a task linked to this PR, but it only contains minimal information (title only, no description or acceptance criteria). To perform a meaningful business rules validation, I need more details. 🔍 What I need to validate:
💡 How to improve the task context:
|
Owner report, 2026-10-09: Muse Assist and Muse Code both showed "no report" while their readings sat in the shared handoff, correctly formed.
What the data actually said
One alias line
subscription-status-clireports Muse Assist under the keymuse. That alias rewrote every one of its windows to Muse Code's key on the way in. Meanwhile the expected-provider list asks formuse-assist— a key nothing ever emitted.Two failures compounded: the Muse Assist row had no windows because its data had been filed elsewhere, and the rows that did resolve were carrying the other subscription's numbers. The CLI, the reader and the payload shape were all fine.
musenow resolves tomuse-assist. Muse Code keeps its own identity and its ownapi.meta.aisource.Your four logos were never the problem
I verified rather than assumed: the colour Antigravity star for the Gemini pool, Claude, the blue Muse Assist mark, and the Meta loop for Muse Code each already map to their own bundled file and resolve in both appearances. Their blank appearance was the missing rows above, not missing artwork.
Answering "should I just change the file in the resources folder?"
Yes — that is the right instinct, with one gotcha worth knowing. Since #190 every mark ships as three files:
<name>-color.png,<name>-light.png,<name>-dark.png. So changing one logo means writing three PNGs, or the app will show your new logo in one appearance and the old one in the other. The simpler path with no rebuild is the Logo Style page, which imports a custom mark per provider.(Also worth knowing: the console sidebar and the Glance popover intentionally render marks differently — the sidebar uses monochrome silhouettes, the popover uses brand colours. That is why they look different in your two screenshots, and it is by design rather than a mismatch.)
Tests
QuotaProviderswasprivate, which is precisely why no test could have caught this alias. It is now internal so the identity rules are testable:museresolves to Muse Assist, the CLI spellings follow it, Muse Code keeps its own identity, both are expected providers, and the specific regression — a window keyedmusemust never land on Muse Code.swift test375 tests, 0 failures.Co-Authored-By: MiniMax Code noreply@minimax.io